package org.jeecgframework.boot.springaimcpservice.entity;


import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

@Data
@TableName("ut_expert_person")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema( description="专家人员库")
public class ExpertPerson implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.AUTO)
    @Schema(description = "主键")
    private java.lang.Integer id;
    /**创建人*/
    @Schema(description = "创建人")
    private java.lang.String createBy;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建日期")
    private java.util.Date createTime;
    /**更新人*/
    @Schema(description = "更新人")
    private java.lang.String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新日期")
    private java.util.Date updateTime;
    /**所属部门*/
    @Schema(description = "所属部门")
    private java.lang.String sysOrgCode;
    /**专家人员编码*/

    @Schema(description = "专家人员编码")
    private java.lang.String expertPersonCode;
    /**专家姓名*/
    @ExcelProperty("专家姓名")
    @Schema(description = "专家姓名")
    private java.lang.String name;
    /**身份证号码*/
    @ExcelProperty("身份证号码")
    @Schema(description = "身份证号码")
    private java.lang.String idCard;
    /**手机号码*/
    @ExcelProperty("手机号码")
    @Schema(description = "手机号码")
    private java.lang.String phoneNumber;
    /**序号*/

    @Schema(description = "序号")
    private java.lang.Integer sortNo;
    /**备注*/
    @Schema(description = "备注")
    private java.lang.String remark;
    /**单位*/
    @Schema(description = "单位")
    private java.lang.String unitName;
    /**签约开始时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @Schema(description = "签约开始时间")
    private java.util.Date contractStartTime;
    /**签约结束时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @Schema(description = "签约结束时间")
    private java.util.Date contractEndTime;


    @Schema(description = "角色分配状态")
    private java.lang.String roleStat;


    @Schema(description = "角色编号")
    private java.lang.String roleId;

    @Schema(description = "专家类别id")
    private java.lang.String expertCategoryId;

    @Schema(description = "专家类别名称")
    private java.lang.String expertCategoryName;
    @ExcelProperty("性别")
    @Schema(description = "性别")
    private java.lang.String sex;

    @ExcelProperty("职称")
    @Schema(description = "职称")
    private java.lang.String title;

    @ExcelProperty("职务")
    @Schema(description = "职务")
    private java.lang.String position;

    @Schema(description = "通讯地址")
    private java.lang.String mailAddress;

    @Schema(description = "电子邮箱")
    private java.lang.String email;

}
